home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / idd.zip / DRIVER.EQU < prev    next >
Text File  |  1989-02-13  |  2KB  |  121 lines

  1. ;-----------------------------------------------------------------------|
  2. ;    CONSTANTS HEADER FILE                        |
  3. ;        for Installable Device Driver Library            |
  4. ;-----------------------------------------------------------------------|
  5.     .XLIST
  6.  
  7.     ;
  8.     ;    Request Header
  9.     ;
  10. RH    Struc
  11.     Len    DB    (?)
  12.     Unit    DB    (?)
  13.     Cmd    DB    (?)
  14.     Status    DW    (?)
  15.         DB    8 Dup (?)
  16.         DB    (?)
  17.     EndAdr    DD    (?)
  18. RH    EndS
  19.  
  20.     ;
  21.     ;    Attribute Field Bits
  22.     ;
  23. CharacterDevice    EQU    8000H
  24. SupportsIOCTL    EQU    4000H
  25. NonIBMFormat    EQU    2000H
  26. RemoveableMedia    EQU    0800H
  27. CurrentClock    EQU    0008H
  28. CurrentNUL    EQU    0004H
  29. StandardOutput    EQU    0002H
  30. StandardInput    EQU    0001H
  31.  
  32.     ;
  33.     ;    Status Word Bits
  34.     ;
  35. Done        EQU    0100H
  36. Error        EQU    8000H
  37. Busy        EQU    0200H
  38.  
  39.     ;
  40.     ;    Error Return Codes
  41.     ;
  42. WriteProtect    EQU    0
  43. UnknownUnit    EQU    1
  44. DeviceNotReady    EQU    2
  45. UnknownCommand    EQU    3
  46. crcError    EQU    4
  47. BadLength    EQU    5
  48. SeekError    EQU    6
  49. UnknownMedia    EQU    7
  50. SectorNotFound    EQU    8
  51. NoPaper        EQU    9
  52. WriteFault    EQU    10
  53. ReadFault    EQU    11
  54. GeneralFailure    EQU    12
  55.  
  56.     ;
  57.     ;    Segment/Group definitions
  58.     ;
  59. PGroup    Group    _TEXT, PTail
  60. _TEXT    Segment Byte Public 'CODE'
  61.     Assume    CS:PGroup
  62. _TEXT    EndS
  63. PTail    Segment Public 'CODE'
  64. PTail    EndS
  65. DGroup    Group    _DATA, _BSS, DTail
  66. _DATA    Segment Para Public 'DATA'
  67.     Assume    DS:DGroup
  68. _DATA    EndS
  69. _BSS    Segment Public 'BSS'
  70. _BSS    EndS
  71. DTail    Segment Byte Public 'BSS'
  72. DTail    EndS
  73.  
  74.     ;
  75.     ;    Macros
  76.     ;
  77. Cseg    MACRO                ;; begin code segment
  78. _TEXT    Segment
  79.     ENDM
  80.  
  81. EndCS    MACRO                ;; end code segment
  82. _TEXT    EndS
  83.     ENDM
  84.  
  85. Dseg    MACRO                ;; begin data segment
  86. _DATA    Segment
  87.     ENDM
  88.  
  89. EndDS    MACRO                ;; end data segment
  90. _DATA    EndS
  91.     ENDM
  92.  
  93. Useg    MACRO                ;; begin uninit segment
  94. _BSS    Segment
  95.     ENDM
  96.  
  97. EndUS    MACRO                ;; end data segment
  98. _BSS    EndS
  99.     ENDM
  100.  
  101. Func    MACRO    who            ;; function entry
  102.     Public    _&who
  103. _&who    Proc    Near
  104.     ENDM
  105.  
  106. EndF    MACRO    who            ;; function exit
  107. _&who    EndP
  108.     ENDM
  109.  
  110. Import    MACRO    who            ;; import data item
  111. _DATA    Segment
  112.     Extrn    _&who:Byte
  113. _DATA    EndS
  114.     ENDM
  115.  
  116. SetHdr    MACRO    item,value        ;; set value in Request Header
  117.     MOV    _ReqHdr.&item,value
  118.     ENDM
  119.  
  120.     .LIST
  121.